import { Router } from 'express';
import { authenticate } from '@/middleware/auth';
import {
  getAllProvinces,
  getCitiesByProvince,
  getDistrictsByCity,
  searchLocations,
  getOilPriceByLocation,
  initializeLocationData,
  getCacheStats,
  clearCache,
} from '@/controllers/locationController';

const router = Router();

// 所有地理位置路由都需要认证
router.use(authenticate);

// 地理位置数据管理路由
router.get('/provinces', getAllProvinces);                    // 获取所有省份
router.get('/cities/:provinceCode', getCitiesByProvince);     // 根据省份获取城市
router.get('/districts/:cityCode', getDistrictsByCity);       // 根据城市获取区县
router.get('/search', searchLocations);                       // 搜索地理位置
router.post('/oil-price', getOilPriceByLocation);             // 根据地理位置查询油价

// 数据管理路由
router.post('/initialize', initializeLocationData);           // 初始化地理位置数据
router.get('/cache/stats', getCacheStats);                    // 获取缓存统计
router.post('/cache/clear', clearCache);                      // 清除缓存

export default router;
